package com.wn.access.service;

import com.wn.access.entity.TradeLog;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wn.common.model.dto.bank.BankBidDTO;
import com.wn.common.model.dto.bank.BankCardAddDto;
import com.wn.common.model.dto.bank.BankCardRequestDto;
import com.wn.common.model.dto.bank.BorrowRecordStatusBankDTO;
import com.wn.common.model.vo.bank.SignatureVo;
import com.wn.common.model.vo.borrow.BidBalanceDTO;
import com.wn.common.model.vo.borrow.BorrowRecordVo;
import com.wn.common.model.vo.borrow.LoanVo;
import com.wn.common.model.vo.pay.RepayVo;
import com.wn.common.result.BaseResult;
import com.wn.common.result.Result;

/**
 * <p>
 * 托管系统交易记录表 服务类
 * </p>
 *
 * @author yellow docker
 * @since 2023-07-27
 */
public interface ITradeLogService extends IService<TradeLog> {

    SignatureVo bankCardAddDto(BankCardAddDto bankCardAddDto);

    void updateTradeLog(BankCardRequestDto bankCardRequestDto);

    BaseResult syncBorrowRecord(BorrowRecordVo borrowRecordVo);

    BidBalanceDTO getBalanceDetails(String userCode);

    BaseResult saveAgencyBid(BankBidDTO bankBidDTO);

    BaseResult confirmLoan(LoanVo loanVo);

    BaseResult confirmRepay(RepayVo repaymentRequest);

    Result changeBorrowStatus(BorrowRecordStatusBankDTO borrowRecordStatusBankDTO);
}
